JavaScriptのModule System
ES2015(2015/6)より前のJSにはmoduleの仕様がなかった ES2015で入った
ちなみにNode.jsの公開は2009年頃
そのため、それまでにいくつかのmodule systemに関する仕様が誕生した
table:仕様と実装
仕様 実装例
今後の対応
ブラウザの場合
IEを切れるなら素のESModules
切れないならWebpack + ESModules
Node.jsの場合
CommonJSを使っている所も多い
ESModulesも使える
歴史的な流れ
2000年代にJSが流行りだしたが、module周りのことが仕様で決まっていなかった
2009年にNode.jsが登場し、server sideでも実行できるようになったが、module周りが決まってないので困った そこで、Node.jsのmodule systemのために(?)、2009/1にServerJSが登場した このときはBrowserifyは生まれてないmrsekut.icon
この流れの延長で、browser上でもmodule system欲しいとなった
仕様が決まっただけでまだ使えなかったらしい
よく使われるようになったのは2021年頃とかかな
今後、ESModuleが主流になれば、Webpackは死んでくれるのか?
というかこの辺のmodule system周りのぐちゃぐちゃは全部消えてくれるのか?
世界はシンプルになろうとしているのか?ということを知りたい
参考
189ページのPDF
シリーズ
何記事かに渡ってJSの辿ってきた流れがわかる